class HireRentModel {
  int? userId;
  double? discountFee;
  double? adjustFee;
  double? totalFee;
  double? payment;
  String? startTime;
  String? startTimeStr;
  String? payTime;
  String? endTime;
  String? endTimeStr;
  String? creationTime;
  List<TmcContractOrderDetails>? tmcContractOrderDetails;
  int? contractLargeNo;
  int? contractMediumNo;
  int? contractSmallNo;
  String? deviceName;
  bool? isActive;
  String? id;

  HireRentModel({
    this.userId,
    this.discountFee,
    this.adjustFee,
    this.totalFee,
    this.payment,
    this.startTime,
    this.startTimeStr,
    this.payTime,
    this.endTime,
    this.endTimeStr,
    this.creationTime,
    this.tmcContractOrderDetails,
    this.contractLargeNo,
    this.contractMediumNo,
    this.contractSmallNo,
    this.deviceName,
    this.isActive,
    this.id,
  });

  HireRentModel.fromJson(Map<String, dynamic> json) {
    userId = json['userId'];
    discountFee = json['discountFee'];
    adjustFee = json['adjustFee'];
    totalFee = json['totalFee'];
    payment = json['payment'];
    startTime = json['startTime'];
    startTimeStr = json['startTimeStr'];
    payTime = json['payTime'];
    endTime = json['endTime'];
    endTimeStr = json['endTimeStr'];
    creationTime = json['creationTime'];
    if (json['tmcContractOrderDetails'] != null) {
      tmcContractOrderDetails = <TmcContractOrderDetails>[];
      json['tmcContractOrderDetails'].forEach((v) {
        tmcContractOrderDetails!.add(new TmcContractOrderDetails.fromJson(v));
      });
    }
    contractLargeNo = json['contractLargeNo'];
    contractMediumNo = json['contractMediumNo'];
    contractSmallNo = json['contractSmallNo'];
    deviceName = json['deviceName'];
    isActive = json['isActive'];
    id = json['id'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['userId'] = this.userId;
    data['discountFee'] = this.discountFee;
    data['adjustFee'] = this.adjustFee;
    data['totalFee'] = this.totalFee;
    data['payment'] = this.payment;
    data['startTime'] = this.startTime;
    data['startTimeStr'] = this.startTimeStr;
    data['payTime'] = this.payTime;
    data['endTime'] = this.endTime;
    data['endTimeStr'] = this.endTimeStr;
    data['creationTime'] = this.creationTime;
    if (this.tmcContractOrderDetails != null) {
      data['tmcContractOrderDetails'] = this.tmcContractOrderDetails!.map((v) => v.toJson()).toList();
    }
    data['contractLargeNo'] = this.contractLargeNo;
    data['contractMediumNo'] = this.contractMediumNo;
    data['contractSmallNo'] = this.contractSmallNo;
    data['deviceName'] = this.deviceName;
    data['isActive'] = this.isActive;
    data['id'] = this.id;
    return data;
  }
}

class TmcContractOrderDetails {
  int? tmcDoorsId;
  double? payment;
  String? creationTime;
  String? payTime;
  String? startTime;
  String? endTime;
  String? tmcDoorsDisplayAlias;
  int? tmcDoorsDoorState;
  int? tmcDoorsDoorType;

  TmcContractOrderDetails({
    this.tmcDoorsId,
    this.payment,
    this.creationTime,
    this.payTime,
    this.startTime,
    this.endTime,
    this.tmcDoorsDisplayAlias,
    this.tmcDoorsDoorState,
    this.tmcDoorsDoorType,
  });

  TmcContractOrderDetails.fromJson(Map<String, dynamic> json) {
    tmcDoorsId = json['tmcDoorsId'];
    payment = json['payment'];
    creationTime = json['creationTime'];
    payTime = json['payTime'];
    startTime = json['startTime'];
    endTime = json['endTime'];
    tmcDoorsDisplayAlias = json['tmcDoorsDisplayAlias'];
    tmcDoorsDoorState = json['tmcDoorsDoorState'];
    tmcDoorsDoorType = json['tmcDoorsDoorType'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['tmcDoorsId'] = this.tmcDoorsId;
    data['payment'] = this.payment;
    data['creationTime'] = this.creationTime;
    data['payTime'] = this.payTime;
    data['startTime'] = this.startTime;
    data['endTime'] = this.endTime;
    data['tmcDoorsDisplayAlias'] = this.tmcDoorsDisplayAlias;
    data['tmcDoorsDoorState'] = this.tmcDoorsDoorState;
    data['tmcDoorsDoorType'] = this.tmcDoorsDoorType;
    return data;
  }
}
